package com.hbb20;

import ohos.agp.window.dialog.CommonDialog;
import ohos.agp.window.dialog.IDialog;
import ohos.app.Context;

public class MyDialog extends CommonDialog implements KeyboardManager.KeyboardListener {

    private OnDismissListener mOnDismissListener;

    private KeyboardManager.KeyboardListener mKeyboardListener;

    /**
     * setKeyboardListener
     *
     * @param keyboardListener keyboardListener
     */
    public void setKeyboardListener(KeyboardManager.KeyboardListener keyboardListener) {
        this.mKeyboardListener = keyboardListener;
    }

    /**
     * setOnDismissListener
     *
     * @param onDismissListener onDismissListener
     */
    public void setOnDismissListener(OnDismissListener onDismissListener) {
        this.mOnDismissListener = onDismissListener;
    }

    public MyDialog(Context context) {
        super(context);
        KeyboardManager.get().addKeyKeyboardListener(this);
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
        KeyboardManager.get().removeKeyboardListener(this);
        if (mOnDismissListener != null) {
            mOnDismissListener.onDismiss(this);
        }
    }

    @Override
    public void onKeyboardListener(boolean show, int height) {
        if (show) {
            getContentCustomComponent().setPaddingBottom(height - 100);
        } else {
            getContentCustomComponent().setPaddingBottom(0);
        }
        if (mKeyboardListener != null) {
            mKeyboardListener.onKeyboardListener(show, height);
        }
    }


    interface OnDismissListener {

        void onDismiss(IDialog dialog);
    }
}
